home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / pcboard / msgtag11.zip / QSCAN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-30  |  2KB  |  172 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     String   STRING006
  25.     Int      INT001
  26.     Int      INT002
  27.  
  28. ;------------------------------------------------------------------------------
  29.  
  30.     STRING002 = ReadLine(PCBDat(), 204)
  31.     STRING002 = FileInf(STRING002, 6) + ":" + FileInf(STRING002, 7)
  32.     STRING004 = STRING002 + "msgtag.use"
  33.     STRING006 = STRING002 + "mtg" + String(CurConf()) + ".lst"
  34.     STRING005 = STRING002 + "userpl.dat"
  35.     INT001 = TokCount()
  36.     If (INT001) Then
  37.         STRING002 = ""
  38.         For INT002 = 1 To INT001
  39.             STRING002 = STRING002 + Upper(GetToken()) + " "
  40.         Next
  41.         If (InStr(STRING002, "A") && !InStr(STRING002, "YA")) Then
  42.             Gosub LABEL003
  43.             End
  44.         Endif
  45.     Endif
  46.     GetUser
  47.     If (Exist(STRING006) && (FileInf(STRING006, 4) > 0)) Then
  48.         STRING001 = "S"
  49.         Newline
  50.         PrintLn "@X02You have @X0ETAGGED @X02messages in this conference"
  51.         STRING003 = "@X0ES@X0F)@X02tart a new tag list, @X0EA@X0F)@X02ppend to current tag list, @X02(@X0FEnter@X02)=@X0Estart"
  52.         InputStr STRING003, STRING001, 14, 1, "AS", 8 + 256 + 4 + 2
  53.         If (STRING001 == "S") Then
  54.             Delete STRING006
  55.             Gosub LABEL004
  56.         Endif
  57.     Endif
  58.     If (INT001) Goto LABEL001
  59.     Newline
  60.     STRING001 = ""
  61.     STRING002 = String(LoMsgNum()) + "-" + String(HiMsgNum())
  62.     STRING003 = "(H)elp, (" + STRING002 + "), Message Scan Command"
  63.     InputStr STRING003, STRING001, 14, 80, Mask_Ascii(), 8 + 256 + 16
  64.     If (STRING001 == "") End
  65.     :LABEL001
  66.     Gosub LABEL003
  67.     Gosub LABEL004
  68.     FOpen 7, STRING005, 1, 0
  69.     FPutLn 7, String(U_PageLen)
  70.     FClose 7
  71.     U_PageLen = 22
  72.     PutUser
  73.     :LABEL002
  74.     Cls
  75.     End
  76.     :LABEL003
  77.     If (INT001) STRING001 = STRING002
  78.     STRING001 = RTrim(STRING001, " ")
  79.     If ((STRING001 == "H") || (STRING001 == "HELP")) Then
  80.         KbdStuff "HELP Q" + Chr(13)
  81.         Goto LABEL002
  82.     Else
  83.         KbdStuff "Q " + STRING001 + Chr(13)
  84.     Endif
  85.     Return
  86.     :LABEL004
  87.     FAppend 1, STRING004, 1, 0
  88.     FClose 1
  89.     Return
  90.  
  91. ;------------------------------------------------------------------------------
  92. ;
  93. ; Usage report (before postprocessing)
  94. ;
  95. ; ■ Statements used :
  96. ;
  97. ;    3       End
  98. ;    1       Cls
  99. ;    10      Goto 
  100. ;    18      Let 
  101. ;    1       PrintLn 
  102. ;    9       If 
  103. ;    1       FOpen 
  104. ;    1       FAppend 
  105. ;    2       FClose 
  106. ;    1       FPutLn 
  107. ;    1       GetUser
  108. ;    1       PutUser
  109. ;    1       Delete 
  110. ;    2       InputStr 
  111. ;    4       Gosub 
  112. ;    2       Return
  113. ;    2       Newline
  114. ;    2       KbdStuff 
  115. ;
  116. ;
  117. ; ■ Functions used :
  118. ;
  119. ;    22      +
  120. ;    4       ==
  121. ;    1       <
  122. ;    1       <=
  123. ;    1       >
  124. ;    2       >=
  125. ;    8       !
  126. ;    4       &&
  127. ;    2       ||
  128. ;    1       Upper()
  129. ;    2       Chr()
  130. ;    2       InStr()
  131. ;    1       RTrim()
  132. ;    4       String()
  133. ;    1       Mask_Ascii()
  134. ;    1       CurConf()
  135. ;    1       PCBDat()
  136. ;    1       ReadLine()
  137. ;    1       GetToken()
  138. ;    1       Exist()
  139. ;    3       FileInf()
  140. ;    1       TokCount()
  141. ;    1       LoMsgNum()
  142. ;    1       HiMsgNum()
  143. ;
  144. ;------------------------------------------------------------------------------
  145. ;
  146. ; Analysis flags : Wd
  147. ;
  148. ; W - Write user ■ 5
  149. ;     Program writes a user record. Although this may be normal for a
  150. ;     User Editor, it may also be a way to modify an account level.
  151. ;     ■ Search for : PUTUSER
  152. ;
  153. ; d - Access PCBOARD.DAT ■ 2
  154. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  155. ;     for many PPE so they can find various informations on the system
  156. ;     (system paths, max number of lines in messages, ...) but it may also
  157. ;     be a way to gather vital informations.
  158. ;     ■ Search for : PCBDAT()
  159. ;
  160. ;------------------------------------------------------------------------------
  161. ;
  162. ; Postprocessing report
  163. ;
  164. ;    1       For/Next
  165. ;    0       While/EndWhile
  166. ;    5       If/Then or If/Then/Else
  167. ;    0       Select Case
  168. ;
  169. ;------------------------------------------------------------------------------
  170. ;                 AEGiS Corp - Break the routines, code against the machines!
  171. ;------------------------------------------------------------------------------
  172.